package com.jt.controller;

import com.jt.pojo.Item;
import com.jt.service.ItemService;
import com.jt.vo.ItemVO;
import com.jt.vo.PageResult;
import com.jt.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@CrossOrigin
@RequestMapping("/item")
public class ItemController {

    @Autowired
    private ItemService itemService;

    /**
     * 商品列表展现
     * URL:/item/getItemList?query=&pageNum=1&pageSize=10
     * 请求类型: get
     * 请求参数: 使用pageResult对象接收
     * data:   商品分页对象 PageResult
     */

    @GetMapping("/getItemList")
    public SysResult getItemList(PageResult pageResult){//3
        //需要补上后两个
        pageResult =  itemService.getItemList(pageResult);//5
        return SysResult.success(pageResult);

    }

    /**
     * 实现商品新增的操作
     *URL：/item/saveItem
     * 请求类型：post
     * 参数信息：ItemVO对象
     * @param itemVO
     */
    @PostMapping("/saveItem")
    public SysResult saveItem(@RequestBody ItemVO itemVO){

        itemService.saveItem(itemVO);
        return SysResult.success();
    }

    /**
     * 需求：实现商品删除
     * URL：/item/deleteItemById
     * 参数：id
     * 返回值：SysResult对象
     */

    @DeleteMapping("/deleteItemById")
    public SysResult deleteItemById(Integer id){
        itemService.deleteItemById(id);
        return SysResult.success();
    }
    /**
     * 商品状态修改
     * URL:/item/updateItemStatus
     * 请求类型: put
     * 请求参数: 使用对象接收
     */

    @PutMapping("/updateItemStatus")
    public SysResult updateItemStatus(@RequestBody Item item){
        itemService.updateItemStatus(item);
        return SysResult.success();
    }

    /**
     * 需求：修改商品信息
     * URL：
     *
     */
}
